/*
Les differents messages :
	--> INIT_TAS = 1 le serveur devra repondre oui tu es le premier combien tu en veux ou non voici la taille du tas.

	--> T_MALLOC = 2 le serveur devra repondre avec l'endroit ou se trouve l'espace allouer

	--> T_ACCESS_READ = 3 le serveur devra repondre oui il n'y a pas de modification en cours et renvoyer la valeur + son emplacement ou non attends.

	--> T_ACCESS_WRITE = 4 le serveur devra repondre avec l'autorisation lorsque se sera son tour

	--> T_RELEASE = 5 le serveur prend en compte le release 

	--> F_FREE = 6 le free se fait de la meme maniere qu'un access T_ACCESS_WRITE c'est a dire qu'il attend son tour pour s'executer 
*/

#define INIT_TAS 1
#define T_MALLOC 2
#define T_ACCESS_READ 3
#define T_ACCESS_WRITE 4
#define T_RELEASE 5
#define F_FREE 6

#define TAILLE_TAS 7
#define TAILLE_MALLOC 8
#define NOM_VARIABLE_MALLOC 9
#define DATA_VARIABLE_MALLOC 10
#define DATA_VARIABLE_REWRITE 11

void gererInitTas(descriptorListClientConnecteElement* myClient);

void send_message(int socket_fd, void* buffer, int sizeofBuffer);

int read_message(int sockfd, void* recvBuff, int sizeofBuffer);

void gererMalloc(descriptorListClientConnecteElement* myClient);

void gererAccessRead(descriptorListClientConnecteElement* myClient);

void gererAccessWrite(descriptorListClientConnecteElement* myClient);

void gererFree(descriptorListClientConnecteElement* myClient);